package com.css.zfzx.fwsjcj.modules.structure.entity;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * @author leon
 * @Title:
 * @Description: 石结构
 * @date 2020/6/2 15:15
 */
@Entity
@Table(name = "fw_stone_structure", schema = "fwsjcj", catalog = "")
public class FwStoneStructureEntity {
    private String id;
    /**
     * 石结构编号
     */
    private String stoneStructureNum;
    /**
     * 所属省
     */
    private String belongtoProvince;
    /**
     * 所属市
     */
    private String belongtoCity;
    /**
     * 所属区县
     */
    private String belongtoArea;
    /**
     * 所属街道
     */
    private String belongtoStreet;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 纬度
     */
    private String latitude;
    /**
     *所属居委会
     */
    private String belongtoTown;
    /**
     * 建筑名称
     */
    private String buildingName;
    /**
     * 建造年代（70s以前,70s,80s,90s,00s,10s）
     */
    private String buildingAge;
    /**
     * 场地类型(I类、II类、III类、IV类)
     */
    private String siteType;
    /**
     * 建筑面积
     */
    private Double buildingArea;
    /**
     * 建筑长度
     */
    private Double buildingLength;
    /**
     * 建筑宽度
     */
    private Double buildingWidth;
    /**
     * 层数
     */
    private Integer floorNum;
    /**
     * 建筑高度
     */
    private Double buildingHeight;
    /**
     * 墙体材质(石或斜石,加工块石,毛石,其他)
     */
    private String wallMaterial;
    /**
     * 承重方式(横墙承重,纵墙承重,纵横墙混合承重）
     */
    private String czType;
    /**
     * 纵横墙连接(无连接,咬砌)
     */
    private String zhqlj;
    /**
     * 横墙最大间距
     */
    private Double hqzdSpace;
    /**
     * 横墙开洞面积(大于水平全截面1/3,小于水平全截面1/3)
     */
    private String hqkdArea;
    /**
     * 圈梁(有圈梁,无圈梁)
     */
    private String ql;
    /**
     * 四角设构造柱0（无）,1（有）
     */
    private String sjsgzz;
    /**
     * 屋盖类型(木屋架,预制板,彩钢屋架,其他)
     */
    private String roofType;
    /**
     * 楼盖类型（木楼板,石板,预制板,其他）
     */
    private String floorType;
    /**
     * 上下楼层结构形式(一致,不一致)
     */
    private String sxlcjgStyle;
    /**
     * 出屋面构件(0（无）、1（女儿墙）、2（烟囱）、3（无构造柱楼梯间）、4（其他）)
     */
    private String cwmgj;
    /**
     * 建筑现状(完好、墙体歪闪、墙体开裂、墙体腐蚀酥碎、楼屋盖构件有变形、地基不均匀沉降)
     */
    private String buildingSituation;
    /**
     * 建筑造价/重置单价(保留2位小数，单位：万元/平方米
     */
    private Double buildingCost;
    /**
     * 建筑照片
     */
    private String buildingPhoto;
    /**
     * 信息说明（填写需要说明的相关信息）
     */
    private String msgIllustrate;
    /**
     * 审核状态
     */
    private String status;
    /**
     * 审核人
     */
    private String checkUser;
    /**
     * 审核意见
     */
    private String checkOpinion;
    private String createUser;
    /**
     * 数据采集人
     */
    private String collectUser;
    private Date createTime;
    private String updateUser;
    private Date updateTime;
    private String delFlag;
    /**
     * 任务ID
     */
    private String taskId;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 墙体厚度
     */
    private Double wallThick;
    /**
     * 详细文档
     */
    private String detailFile;


    /**
     * 超级管理员退回意见
     * @return
     */
    private String superBackOpinion;
    /**
     * 省级退回意见
     * @return
     */
    private String provinceBackOpinion;
    @Basic
    @Column(name = "super_back_opinion")
    public String getSuperBackOpinion() {
        return superBackOpinion;
    }

    public void setSuperBackOpinion(String superBackOpinion) {
        this.superBackOpinion = superBackOpinion;
    }

    @Basic
    @Column(name = "province_back_opinion")
    public String getProvinceBackOpinion() {
        return provinceBackOpinion;
    }

    public void setProvinceBackOpinion(String provinceBackOpinion) {
        this.provinceBackOpinion = provinceBackOpinion;
    }

    @Id
    @Column(name = "id")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "stone_structure_num")
    public String getStoneStructureNum() {
        return stoneStructureNum;
    }

    public void setStoneStructureNum(String stoneStructureNum) {
        this.stoneStructureNum = stoneStructureNum;
    }

    @Basic
    @Column(name = "belongto_province")
    public String getBelongtoProvince() {
        return belongtoProvince;
    }

    public void setBelongtoProvince(String belongtoProvince) {
        this.belongtoProvince = belongtoProvince;
    }

    @Basic
    @Column(name = "belongto_city")
    public String getBelongtoCity() {
        return belongtoCity;
    }

    public void setBelongtoCity(String belongtoCity) {
        this.belongtoCity = belongtoCity;
    }

    @Basic
    @Column(name = "belongto_area")
    public String getBelongtoArea() {
        return belongtoArea;
    }

    public void setBelongtoArea(String belongtoArea) {
        this.belongtoArea = belongtoArea;
    }

    @Basic
    @Column(name = "belongto_street")
    public String getBelongtoStreet() {
        return belongtoStreet;
    }

    public void setBelongtoStreet(String belongtoStreet) {
        this.belongtoStreet = belongtoStreet;
    }

    @Basic
    @Column(name = "longitude")
    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    @Basic
    @Column(name = "latitude")
    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    @Basic
    @Column(name = "belongto_town")
    public String getBelongtoTown() {
        return belongtoTown;
    }

    public void setBelongtoTown(String belongtoTown) {
        this.belongtoTown = belongtoTown;
    }

    @Basic
    @Column(name = "building_name")
    public String getBuildingName() {
        return buildingName;
    }

    public void setBuildingName(String buildingName) {
        this.buildingName = buildingName;
    }

    @Basic
    @Column(name = "building_age")
    public String getBuildingAge() {
        return buildingAge;
    }

    public void setBuildingAge(String buildingAge) {
        this.buildingAge = buildingAge;
    }

    @Basic
    @Column(name = "site_type")
    public String getSiteType() {
        return siteType;
    }

    public void setSiteType(String siteType) {
        this.siteType = siteType;
    }

    @Basic
    @Column(name = "building_area")
    public Double getBuildingArea() {
        return buildingArea;
    }

    public void setBuildingArea(Double buildingArea) {
        this.buildingArea = buildingArea;
    }

    @Basic
    @Column(name = "building_length")
    public Double getBuildingLength() {
        return buildingLength;
    }

    public void setBuildingLength(Double buildingLength) {
        this.buildingLength = buildingLength;
    }

    @Basic
    @Column(name = "building_width")
    public Double getBuildingWidth() {
        return buildingWidth;
    }

    public void setBuildingWidth(Double buildingWidth) {
        this.buildingWidth = buildingWidth;
    }

    @Basic
    @Column(name = "floor_num")
    public Integer getFloorNum() {
        return floorNum;
    }

    public void setFloorNum(Integer floorNum) {
        this.floorNum = floorNum;
    }

    @Basic
    @Column(name = "building_height")
    public Double getBuildingHeight() {
        return buildingHeight;
    }

    public void setBuildingHeight(Double buildingHeight) {
        this.buildingHeight = buildingHeight;
    }

    @Basic
    @Column(name = "wall_material")
    public String getWallMaterial() {
        return wallMaterial;
    }

    public void setWallMaterial(String wallMaterial) {
        this.wallMaterial = wallMaterial;
    }

    @Basic
    @Column(name = "cz_type")
    public String getCzType() {
        return czType;
    }

    public void setCzType(String czType) {
        this.czType = czType;
    }

    @Basic
    @Column(name = "zhqlj")
    public String getZhqlj() {
        return zhqlj;
    }

    public void setZhqlj(String zhqlj) {
        this.zhqlj = zhqlj;
    }

    @Basic
    @Column(name = "hqzd_space")
    public Double getHqzdSpace() {
        return hqzdSpace;
    }

    public void setHqzdSpace(Double hqzdSpace) {
        this.hqzdSpace = hqzdSpace;
    }

    @Basic
    @Column(name = "hqkd_area")
    public String getHqkdArea() {
        return hqkdArea;
    }

    public void setHqkdArea(String hqkdArea) {
        this.hqkdArea = hqkdArea;
    }

    @Basic
    @Column(name = "ql")
    public String getQl() {
        return ql;
    }

    public void setQl(String ql) {
        this.ql = ql;
    }

    @Basic
    @Column(name = "sjsgzz")
    public String getSjsgzz() {
        return sjsgzz;
    }

    public void setSjsgzz(String sjsgzz) {
        this.sjsgzz = sjsgzz;
    }

    @Basic
    @Column(name = "roof_type")
    public String getRoofType() {
        return roofType;
    }

    public void setRoofType(String roofType) {
        this.roofType = roofType;
    }

    @Basic
    @Column(name = "floor_type")
    public String getFloorType() {
        return floorType;
    }

    public void setFloorType(String floorType) {
        this.floorType = floorType;
    }

    @Basic
    @Column(name = "sxlcjg_style")
    public String getSxlcjgStyle() {
        return sxlcjgStyle;
    }

    public void setSxlcjgStyle(String sxlcjgStyle) {
        this.sxlcjgStyle = sxlcjgStyle;
    }

    @Basic
    @Column(name = "cwmgj")
    public String getCwmgj() {
        return cwmgj;
    }

    public void setCwmgj(String cwmgj) {
        this.cwmgj = cwmgj;
    }

    @Basic
    @Column(name = "building_situation")
    public String getBuildingSituation() {
        return buildingSituation;
    }

    public void setBuildingSituation(String buildingSituation) {
        this.buildingSituation = buildingSituation;
    }

    @Basic
    @Column(name = "building_cost")
    public Double getBuildingCost() {
        return buildingCost;
    }

    public void setBuildingCost(Double buildingCost) {
        this.buildingCost = buildingCost;
    }

    @Basic
    @Column(name = "building_photo")
    public String getBuildingPhoto() {
        return buildingPhoto;
    }

    public void setBuildingPhoto(String buildingPhoto) {
        this.buildingPhoto = buildingPhoto;
    }

    @Basic
    @Column(name = "msg_illustrate")
    public String getMsgIllustrate() {
        return msgIllustrate;
    }

    public void setMsgIllustrate(String msgIllustrate) {
        this.msgIllustrate = msgIllustrate;
    }

    @Basic
    @Column(name = "status")
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Basic
    @Column(name = "check_user")
    public String getCheckUser() {
        return checkUser;
    }

    public void setCheckUser(String checkUser) {
        this.checkUser = checkUser;
    }

    @Basic
    @Column(name = "check_opinion")
    public String getCheckOpinion() {
        return checkOpinion;
    }

    public void setCheckOpinion(String checkOpinion) {
        this.checkOpinion = checkOpinion;
    }

    @Basic
    @Column(name = "create_user")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "collect_user")
    public String getCollectUser() {
        return collectUser;
    }

    public void setCollectUser(String collectUser) {
        this.collectUser = collectUser;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "update_user")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "update_time")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "del_flag")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Basic
    @Column(name = "task_id")
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Basic
    @Column(name = "task_name")
    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    @Basic
    @Column(name = "wall_thick")
    public Double getWallThick() {
        return wallThick;
    }

    public void setWallThick(Double wallThick) {
        this.wallThick = wallThick;
    }

    @Basic
    @Column(name = "detail_file")
    public String getDetailFile() {
        return detailFile;
    }

    public void setDetailFile(String detailFile) {
        this.detailFile = detailFile;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        FwStoneStructureEntity that = (FwStoneStructureEntity) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(stoneStructureNum, that.stoneStructureNum) &&
                Objects.equals(belongtoProvince, that.belongtoProvince) &&
                Objects.equals(belongtoCity, that.belongtoCity) &&
                Objects.equals(belongtoArea, that.belongtoArea) &&
                Objects.equals(belongtoStreet, that.belongtoStreet) &&
                Objects.equals(belongtoTown, that.belongtoTown) &&
                Objects.equals(buildingName, that.buildingName) &&
                Objects.equals(buildingAge, that.buildingAge) &&
                Objects.equals(siteType, that.siteType) &&
                Objects.equals(buildingArea, that.buildingArea) &&
                Objects.equals(buildingLength, that.buildingLength) &&
                Objects.equals(buildingWidth, that.buildingWidth) &&
                Objects.equals(floorNum, that.floorNum) &&
                Objects.equals(buildingHeight, that.buildingHeight) &&
                Objects.equals(wallMaterial, that.wallMaterial) &&
                Objects.equals(czType, that.czType) &&
                Objects.equals(zhqlj, that.zhqlj) &&
                Objects.equals(hqzdSpace, that.hqzdSpace) &&
                Objects.equals(hqkdArea, that.hqkdArea) &&
                Objects.equals(ql, that.ql) &&
                Objects.equals(sjsgzz, that.sjsgzz) &&
                Objects.equals(roofType, that.roofType) &&
                Objects.equals(floorType, that.floorType) &&
                Objects.equals(sxlcjgStyle, that.sxlcjgStyle) &&
                Objects.equals(cwmgj, that.cwmgj) &&
                Objects.equals(buildingSituation, that.buildingSituation) &&
                Objects.equals(buildingCost, that.buildingCost) &&
                Objects.equals(buildingPhoto, that.buildingPhoto) &&
                Objects.equals(msgIllustrate, that.msgIllustrate) &&
                Objects.equals(status, that.status) &&
                Objects.equals(checkUser, that.checkUser) &&
                Objects.equals(checkOpinion, that.checkOpinion) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(collectUser, that.collectUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(delFlag, that.delFlag) &&
                Objects.equals(taskId, that.taskId) &&
                Objects.equals(taskName, that.taskName) &&
                Objects.equals(wallThick, that.wallThick) &&
                Objects.equals(detailFile, that.detailFile);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, stoneStructureNum, belongtoProvince, belongtoCity, belongtoArea, belongtoStreet, belongtoTown, buildingName, buildingAge, siteType, buildingArea, buildingLength, buildingWidth, floorNum, buildingHeight, wallMaterial, czType, zhqlj, hqzdSpace, hqkdArea, ql, sjsgzz, roofType, floorType, sxlcjgStyle, cwmgj, buildingSituation, buildingCost, buildingPhoto, msgIllustrate, status, checkUser, checkOpinion, createUser, collectUser, createTime, updateUser, updateTime, delFlag, taskId, taskName, wallThick, detailFile);
    }
}
